Information processing apparatus, information processing method, and storage medium

ABSTRACT

An information processing apparatus executes a document reading operation at a timing when a button is pressed, and displays a confirmation screen for prompting a user to confirm settings for processing during execution of the document reading operation.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to an information processing apparatus, aninformation processing method, and a storage medium.

Description of the Related Art

Image processing apparatuses (e.g., a multi-function peripheral (MFP))to be installed in offices have recently become more multifunctional andhighly functional. With such development, a menu screen for an MFP isconfigured to display a plurality of buttons for executing variousfunctions. A user presses a desired button on the menu screen to open asetting screen for processing corresponding to the button, so that theuser can make settings and then instruct execution of the processing.Each button is associated with a setting value, and the user can alsonewly register a button (hereinafter, a custom button) generated bychanging the setting value associated with the button to a desiredsetting value on the main screen. When the registered custom button ispressed, a confirmation screen for prompting the user to confirm thesetting value associated with the button is displayed and the processingassociated with the button is executed upon reception of a useroperation. Depending on the custom button, the processing associatedwith the custom button can be immediately executed only by pressing thecustom button without the step of displaying the confirmation screen.Japanese Patent Application Laid-Open No. 2019-179380 discusses a methodof switching, for each button, a processing execution method to one ofthe method of executing processing after a confirmation screen isdisplayed when the corresponding button is pressed and the method ofexecuting processing without the step of displaying the confirmationscreen. In a case where processing is executed immediately after thecorresponding button is pressed, there is a possibility that theprocessing may be accidentally executed due to an erroneous operation bythe user. It may be therefore desirable to display the confirmationscreen for the user and to prompt the user to confirm processingcontents in a case of executing processing, such as image datatransmission processing, which may be preferably executed appropriately.

However, if the step of prompting the user to confirm processingcontents is provided, the timing for executing the processing is delayeddue to the corresponding amount of time for performing the step. In acase of using a button for executing processing including a documentreading operation, in particular, document reading operation starts onlywhen the user performs a predetermined operation after the button ispressed and the confirmation screen is displayed. It thereby takes along period of time before processing is executed, which leads to areduction in usability.

The present invention is directed to providing a method of rapidlystarting processing associated with a button, while preventing a userfrom erroneously executing processing.

SUMMARY OF THE INVENTION

An information processing apparatus that displays a menu screen includesa first display unit, a second display unit, a first execution unit, anda second execution unit. The first display unit displays a displayobject for executing first processing including document readingprocessing on the menu screen. The second display unit displays aconfirmation screen for prompting a user to confirm contents of thefirst processing upon reception of an operation on the display objectdisplayed by the first display unit from the user. The first executionunit executes at least a part of the document reading processing inprocessing included in the first processing in parallel with the displayof the confirmation screen by the second display unit. The secondexecution unit executes, in a case where a predetermined condition issatisfied, processing subsequent to the document reading processing inthe processing included in the first processing.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example of a hardwareconfiguration of a multi-function peripheral (MFP) 1 according to anexemplary embodiment of the present invention.

FIG. 2 is a block diagram illustrating a software configuration of theMFP 1 according to the exemplary embodiment.

FIG. 3 illustrates an operation/display unit of the MFP 1 according tothe exemplary embodiment.

FIG. 4 is a schematic diagram illustrating an example of a portalscreen.

FIGS. 5A and 5B are schematic diagrams each illustrating an example of atransmission processing setting screen.

FIG. 6 is a flowchart illustrating processing for registering a custombutton.

FIGS. 7A to 7D are schematic diagrams each illustrating an example of ascreen to be displayed during custom button registration processing.FIGS. 7E to 7G are schematic diagrams each illustrating a screen to bedisplayed during custom button execution processing.

FIG. 8 illustrates an example of custom button table information storedin a storage area of a portal application.

FIGS. 9A and 9B are schematic tables each illustrating an example ofcustom button table information stored in a storage area of a scanapplication.

FIG. 10 is a flowchart illustrating processing executed when a custombutton is pressed.

FIG. 11 illustrates an example of a screen displayed when a custombutton is pressed for execution.

FIGS. 12A and 12B are a flowchart illustrating processing executed whena custom button is pressed.

DESCRIPTION OF THE EMBODIMENTS

Exemplary embodiments of the present invention will be described indetail below with reference to the accompanying drawings. The followingexemplary embodiments are not intended to limit the present inventionaccording to the claims, and not all combinations of features describedin the exemplary embodiments are essential to the solving means of thepresent invention. While the present exemplary embodiments illustrate animage processing apparatus as an example of an information processingapparatus, the present invention is not limited to this example.

The present exemplary embodiment illustrates a multi-function peripheral(MFP) 1 including a plurality of functions, such as a scanner functionand a printer function, as an example of the image processing apparatus.However, the present invention is not limited to this example. Anapparatus including a single function can also be applied.

FIG. 1 is a block diagram illustrating a hardware configuration of theMFP 1 according to a first exemplary embodiment. The MFP 1 illustratedin FIG. 1 includes, as a basic configuration, a controller unit 100 thatcontrols each unit in the MFP 1, an operation/display unit 112, ascanner unit 123, and a printer unit 125. The operation/display unit 112is composed of, for example, hardware keys, such as a numeric keypad forinputting numbers and a start key for instructing to execute processing,and a touch panel display. The operation/display unit provides a userinterface (UI) used for a user to operate the MFP 1. The user can inputinformation to the MFP 1 by touching (operating) icons or buttons (orhardware keys) displayed on the touch panel display of theoperation/display unit 112.

The scanner unit 123 scans a document. The printer unit 125 conveys arecording sheet, and prints image data on the recording sheet as avisible image.

The controller unit 100 is connected to the scanner unit 123 via a bus122, and is also connected to the printer unit 125 via a bus 124. Thecontroller unit 100 is connected to another apparatus via a local areanetwork (LAN) 113 or a wide area network (WAN) 114, and performs datainput/output control processing.

A central processing unit (CPU) 101 executes and controls variousfunctions included in the MFP 1. A random access memory (RAM) 102functions as a system work memory for operation of the CPU 101, and alsofunctions as an image memory for temporarily storing image data. Aread-only memory (ROM) 103 functions as a boot ROM. The ROM 103 stores asystem boot program. A hard disk drive (HDD) 104 stores system software,image data, and all wireless communication information included in acommunication unit 111 described below.

The MFP 1 can add a function by installing an application thatimplements a function to be used by the user. By installation ofapplications, application programs for executing various functions onthe MFP 1 are stored in the RAM 102 or the HDD 104.

An operation/display unit interface (I/F) 106 is an interface unitbetween the operation/display unit 112, which serves as a and thecontroller unit 100. The operation/display unit IF 106 outputs data tobe displayed on the touch panel display to the operation/display unit112. The operation/display unit 106 also functions to transmitinformation input by the user from the operation/display unit 112 to theCPU 101. The communication unit 111 is connected to the LAN 113 and theWAN 114, and inputs and outputs information to and from an externalapparatus. The communication unit 111 can also establish a wirelesscommunication such as near field communication (NFC). Theabove-described functional units are connected to a system bus 107.

An image bus I/F 105 is a bus bridge that connects the system bus 107 toan image bus 108 for transferring image data at a high speed, andconverts a data structure. The image bus 108 is a bus complied with, forexample, a peripheral component interconnect (PCI) bus or the Instituteof Electrical and Electronics Engineers (IEEE) 1394.

In the functional units disposed on the image bus 108, a raster imageprocessor (RIP) 116 loads a page description language (PDL) code into abitmap image. A device I/F unit 117 connects the scanner unit 123 or theprinter unit 125 to the controller unit 100. A scanner image processingunit 118 performs correction, processing, or editing on input image datascanned by the scanner unit 123. A printer image processing unit 119performs processing, such as correction and resolution conversion, onprint output image data adapted to the printer unit 125. An imagerotation unit 120 rotates image data. An image processing unit 121performs compression/decompression processing, such as JointPhotographic Experts Group (JPEG), Joint Bi-level Image Experts Group(JBIG), Modified Modified Read (MMR), or Modified Huffman (MH), andformat conversion processing, such as Portable Document Format (PDF),Tag Image File Format (TIFF), Optical Character Recognition (OCR), orencryption, on image data.

FIG. 2 is a block diagram illustrating a software configuration of theMFP 1 according to the present exemplary embodiment. Each functionalunit is implemented by the CPU 101 reading out control programs storedin the ROM 103 or the HHD 104 and executing the control programs.

Examples of applications to be installed in the MFP 1 include a copyapplication 2303 that uses a copy function of the MFP 1, a sendapplication 2305 that uses a send function for transmitting read imagedata, and a portal application 2307 that includes a portal screendisplay function. A portal screen is a menu screen to be displayed whenthe user starts the operation of the MFP 1. These applications may beinstalled in the MFP 1 in default settings, or may be thereafterinstalled in the MFP 1 by the user through, for example, thecommunication unit 111. The installed applications are stored asapplication programs in the RAM 102 or the HDD 104.

The copy application 2303, the send application 2305, and the likeinstalled in the MFP 1 operate independently based on an instructionfrom the CPU 101. Data to be used for each application is thereforedivided into application groups to be stored in the HDD 104. Data to beshared by each application is stored as common data in a common dataunit 2302 set in the HDD 104.

An application identification (ID) is allocated to a plurality ofapplications to be installed in the MFP 1, as an identifier foridentifying each application. This application ID is stored as commondata in the common data unit 2302. In the present exemplary embodiment,for example, the application ID for the copy application 2303 is “100”,the application ID for the send application 2305 is “101”, and theapplication ID for the portal application 2307 is “102”.

A screen control unit 2301 controls a screen display performed by eachapplication. For example, the screen control unit 2301 controls whichone of the applications displays a screen. For example, the copyapplication 2303 acquires screen resources, or setting values from acopy data unit 2304 in response to a request from the screen controlunit 2301, and displays the acquired information on theoperation/display unit 112. In a case where data to be displayed is notstored in the copy application 2303, the screen control unit 2301acquires the corresponding data from the common data unit 2302, andnotifies the copy application 2303 of the acquired data.

The copy application 2303 performs processing for outputting image datagenerated by scanning a document by the scanner unit 123 onto a sheet orthe like. The copy application 2303 can exchange data regarding copyingwith the copy data unit 2304 set in the HDD 104. The send application2305 performs processing for transmitting image data generated byscanning a document by the scanner unit 123 to a predetermined addressthrough the communication unit 111. The send application 2305 canexchange data on sending, such as address information, with a send dataunit 2306 set in the HDD 104. The portal application 2307 performsprocessing for displaying the portal screen on the operation/displayunit 112. The portal application 2307 can exchange data regarding theportal screen, such as a button arrangement sequence to be displayed onthe portal screen, with a portal data unit 2308 set in the HDD 104.

The present exemplary embodiment illustrates an example where the MFP 1includes three types of applications, e.g., the copy application 2303,the send application 2305, and the portal application 2307. However, theMFP 1 may also include applications other than these applications, e.g.,a print application. Each application receives settings from the userthrough a setting screen and executes application processing.

FIG. 3 illustrates an example of the touch panel display and hardwarekeys corresponding to the operation/display unit 112 of the MFP 1according to the present exemplary embodiment.

A touch panel 300 is a liquid crystal display unit in the presentexemplary embodiment. The touch panel 300 has a configuration in which atouch panel sheet is attached to a liquid crystal display. The touchpanel 300 displays an operation screen, and when a displayed object ispressed, the touch panel 300 transmits information indicating theposition where the displayed object is pressed to the CPU 101. Thehardware keys will now be described. A start key 301 is a key forinstructing to start processing. In a case where, for example, the startkey 301 is pressed when the setting screen for executing processing,such as scanning or copying, is displayed, the processing starts. Alight-emitting diode (LED) 302 having two colors, e.g., green and red,is disposed at a central portion of the start key 301. These colors areused to indicate whether the MFP 1 is ready to execute processing whenthe start key 301 is pressed. A stop key 303 is a key for instructing tointerrupt the operation being executed. A numeric keypad 304 includeskeys for inputting numbers and characters. The numeric keypad 304 can beused to set, for example, the number of copies. A user mode key 305 is akey used to cause the display to transition to a screen for makingsettings for the MFP 1.

An application setting screen to be displayed on the touch panel 300will be described with reference to FIG. 5. The send application 2305will be described as an example of the applications.

A send setting screen 500 is a setting screen to be displayed when thesend application 2305 is selected by the user. The send setting screen500 includes an area 501 on which an address designated by the user isdisplayed, and buttons 502 to 505 that are used to set, for example, acolor, a resolution, a file format, and a sheet size. When any one ofthe buttons is pressed, the screen transitions to an advanced settingsscreen corresponding to each setting item. In this case, the settingscreen associated with default setting values is displayed. Examples ofbuttons for setting basic send functions include the color selectionbutton 502, the resolution selection button 503, the document sizeselection button 504, and the file format selection button 505. Settingsfor functions other than the above-described functions can be made andchanged on a screen to be displayed when an other functions button 506is pressed. A settings history button 507 is a button for displaying thehistory of send settings previously used by the user. A frequently-usedsettings button 508 is a button for displaying a screen for registering,editing, or calling frequently-used settings. A home button 509 is abutton for returning to a portal screen 400 described below. A gearbutton 510 is a button for displaying setting items related to theentire application. Default settings illustrated in FIG. 5A indicate astate where “auto” is set on the color selection button 502, “300×300dpi” is set on the resolution selection button 503, “auto size” is seton the document size selection button 504, and “PDF” is set on the fileformat selection button 505. When an address designation button 511 ispressed, a screen for setting an address to which data is transmitted isdisplayed as illustrated in FIG. 5B. The user sets an address afterselecting an address selection method, i.e., selecting an address fromamong the addresses registered in the MFP 1 on the screen, or directlyinputting an address on the screen. When the user places a document onthe scanner unit 123 and presses the start key 301 in a state where theaddress is set, the CPU 101 executes processing with set contents.Specifically, the scanner unit 123 executes scanning of a document whenthe user presses the start key 301, and after the scanning is completed,the scanner image processing unit 118 generates image data to betransmitted based on the settings on the setting screen. Thecommunication unit 111 transmits the generated image data to thedesignated address.

FIG. 4 is a schematic diagram illustrating an example of the portalscreen 400 display on the touch panel 300. On the portal screen 400, adisplay object for executing each application, i.e., a display object,such as a button or a key, which is associated with applicationprocessing and a setting value. In this case, the portal screen 400displays, for example, buttons (hereinafter referred to as applicationbuttons) 401 to 403 that are associated with default setting values(e.g., factory-configured initial values), and buttons (hereinafterreferred to as custom buttons) 404 to 406 that are registered on theportal screen 400 by changing the default setting values associated withthe application buttons by the user. When, for example, the applicationbutton 402 is pressed by the user, the setting screen for the sendapplication 2305 in which the default setting values are reflected isdisplayed as illustrated in the send setting screen 500.

The custom buttons 405 and 406 are custom buttons for the sendapplication 2305 to transmit image data to the set address. When thecustom button 406 is pressed, as illustrated in FIG. 7E, a settingsconfirmation screen 709 is displayed for prompting the user to confirmthe settings. When an OK button 716 is pressed, processing associatedwith the custom button 406 is started. The custom button 405 is a custombutton for immediately starting processing associated with the custombutton 405 without the step of displaying the settings confirmationscreen 709. Executing processing associated with a button without thestep of displaying the confirmation screen when the button is pressed isreferred to as immediate execution. Each of the custom buttons 405 and406 displays an icon 407 indicating an application, a button name 408,and an icon 409 indicating a custom button. An immediate execution icon410 indicating an immediate execution button is also displayed on thecustom button 405. The immediate execution icon 410 is not displayed onthe custom button 406, which does not correspond to the immediateexecution button.

A slider bar 411 indicates that the portal screen 400 can transition toanother screen by a slide operation. When the user slides the slider bar411, presses an arrow, or flicks the portal screen 400, the CPU 101receives the input and calls an application button or a custom buttonregistered on the screen, which has transitioned from the previousscreen, from the HDD 104, and displays the application button or thecustom button.

The custom buttons will be described with reference to FIG. 8.Information about the custom buttons 404 to 406 is stored as tableinformation illustrated in FIG. 8 in the portal data unit 2308 and thecommon data unit 2302. Examples of the information include an identifierfor each application, a button name, and icon information. Informationabout the custom buttons 404 to 406 is stored in a button informationtable 800 illustrated in FIG. 8. The button information table 800 isused when the custom buttons are displayed on the portal screen 400 orprocessing corresponding to each custom button is executed. In thebutton information table 800, a custom button number (No.) for uniquelyidentifying the custom button is associated with an application ID, anaction ID, icon information, and a button name. The custom buttons 404to 406 correspond to custom button Nos. 1 to 3, respectively.

The application ID indicates an identifier for uniquely identifying anapplication corresponding to a button. For example, the application IDfor the copy application 2303 is “100”, and the application ID for thesend application 2305 is “101”. The action ID is an identifier forcalling a setting value associated with a button as described in detailbelow. When any one of the custom buttons is pressed, the action ID issent to the application indicated by the application ID corresponding tothe pressed button. The application to which the action ID is sent callsthe setting value that is stored in association with the action ID, andexecutes processing using the setting value. If the action ID ends with“00”, this indicates that the button does not correspond to theimmediate execution button. If the action ID ends with “01”, thisindicates that the button corresponds to the immediate execution button.The icon information includes image data, such as image data of a bitmapformat corresponding to the icon 407, or a path to the image data. Ifthe pressed button corresponds to the immediate execution button, animage data name indicating the immediate execution icon 410 isdisplayed. The button name represents the contents displayed on thebutton name 408.

FIG. 6 is a flowchart illustrating processing for registering a custombutton in each application. Each processing in the flowchart isimplemented by the CPU 101 reading out control programs stored in theROM 103 or the HHD 104 and executing the control programs. To clearlydistinguish processing to be executed by the send application 2305 fromprocessing to be executed by the portal application 2307, the processingto be executed by the send application 2305 is illustrated on the leftpart of FIG. 6, and the processing to be executed by the portalapplication 2307 is illustrated on the right part of FIG. 6. An examplewill be described here where the send application 2305 registers, on theportal screen 400, the custom button No. 3 (“transmit to customer”button 406) generated by changing the default settings illustrated inFIG. 5A such that “A Corporation” and “B Corporation” are set as theaddress, “grayscale” is set as the color, and “JPEG” is set as the fileformat as illustrated in FIG. 7A.

When the user presses the gear button 510 after changing the settings onthe send setting screen 500, a menu list 701 illustrated in FIG. 7A isdisplayed. In step S601, the send application 2305 enters a custombutton registration mode when the send application 2305 receivespressing of a “portal registration” button 702. In this case, the sendapplication 2305 stores setting information set on the send settingscreen 500. The information to be stored may be setting informationabout all settings, or may be setting information indicating settingsthat are different from the default settings.

In step S602, the send application 2305 displays a confirmation screen703 on the send setting screen 500 as illustrated in FIG. 7B. Theconfirmation screen 703 displays the contents (e.g., color, and fileformat setting) that are changed from the default settings by the user,a cancel button 704, and an OK button 705.

In step S603, the send application 2305 determines which one of thecancel button 704 and the OK button 705 is pressed. If the sendapplication 2305 determines that the OK button 705 is pressed (YES instep S603), the processing proceeds to step S604. In step S604, the sendapplication 2305 transmits a button registration request to the portalapplication 2307. If the send application 2305 determines that thecancel button 704 is pressed (NO in step S603), the processing ends. Inthe case of transmitting the registration request in step S604, the sendapplication 2305 acquires, from the HDD 104, the application ID for thesend application 2305 and the icon information, and notifies the portalapplication 2307 of the acquired information. Specifically, the sendapplication 2305 acquires the application ID and the icon information(application ID: 101, icon information: send.bmp) from the storage area(including the common data unit 2302 and the send data unit 2306) of thesend application 2305 set in the HDD 104. Then, the send application2305 sends these pieces of information to the screen control unit 2301.The screen control unit 2301 notifies the portal application 2307 ofthese pieces of information. The portal application 2307 that hasreceived the information stores the information in the storage area(including the common data unit 2302 and the portal data unit 2308) ofthe portal application 2307.

In step S605, the send application 2305 waits until custom buttonregistration processing is executed by the portal application 2307.

Steps S607 to S609 indicate the custom button registration processingperformed by the portal application 2307. In step S607, the portalapplication 2307 displays a setting screen related to the custom buttonto be registered upon reception of the registration request transmittedfrom the send application 2305 in step S604. As examples of the settingscreen, FIG. 7C illustrates a button display setting screen 706, andFIG. 7D illustrates a button name and execution setting screen 707. Thebutton display setting screen 706 is a screen for selecting a displayposition of a button to be registered on the portal screen 400. When anext button is pressed after the display position is selected (“6” isselected in this case), the screen transitions to the button name andexecution setting screen 707. On the button name and execution settingscreen 707, an input box for inputting a button display name and anON/OFF button 708 for setting whether to use the custom button as theimmediate execution button are displayed. When the user makes settings(in this case, “transmit to customer” is set as the name and “OFF” isset as the immediate execution setting) and presses an OK button, theprocessing proceeds to step S608.

In step S608, the portal application 2307 executes custom buttoncreation processing based on the contents input and set on the settingscreens 706 and 707. To create a custom button, the portal application2307 generates the action ID for uniquely identifying the custom buttonto be registered this time. In the present exemplary embodiment, theaction IDs are allocated in order from “1” every time a custom button isregistered for each application. If the immediate execution setting ismade, “01” is added to the end of the action ID. If the immediateexecution setting is not made, “00” is added to the end of the action ID(in this case, the second custom button is registered for the sendapplication 2305 and the immediate execution setting is not made, andthus “00” is added to the end of the action ID 2). The portalapplication 2307 then creates the custom button based on the buttonname, the created action ID, and the application ID sent from the sendapplication 2305, and the icon information. Specifically, informationabout the “transmit to customer” button corresponding to the custombutton No. 3 is registered in the storage area of the portal application2307 set in the HDD 104 as indicated by the button information table 800illustrated in FIG. 8.

In step S609, upon completion of creation of the custom button, theportal application 2307 transmits the generated action ID and acompletion notification to the send application 2305, and thus thebutton registration processing performed by the portal application 2307ends.

In step S606, the send application 2305 associates the action IDtransmitted from the portal application 2307 in step S609 with thesetting information stored in step S601, and stores the action ID andthe setting information in the storage area of the send application 2305set in the HDD 104. The processing then ends. FIG. 9 illustrates anexample of setting information associated with the action ID stored inthe storage area of the send application 2305 in the HDD 104.

FIG. 9 illustrates an example of setting information for eachapplication stored in association with the action ID. As illustrated ina setting information table 900, icon information and settinginformation are associated with each action ID (setting informationindicating “A Corporation, B corporation”, “grayscale”, and “JPEG” isstored in association with action ID: 2 “00”).

Processing to be executed when a custom button displayed on the portalscreen 400 is pressed will be described with reference to FIG. 10. Anexample will be described where the custom button 406, which correspondsto the custom button No. 3 illustrated in FIG. 8 and does not correspondto the immediate execution button, is pressed on the portal screenillustrated in FIG. 4. FIG. 10 is a flowchart illustrating processing tobe executed when the custom button is pressed. Each processing in theflowchart is implemented by the CPU 101 reading out control programsstored in the ROM 103 or the HHD 104 and executing the control programs.Processing to be executed by the send application 2305 is illustrated onthe right part of FIG. 10, and processing to be executed by the portalapplication 2307 is illustrated on the left part of FIG. 10.

In step S1001, when the portal application 2307 detects pressing of thecustom button 406 on the portal screen, the portal application 2307refers to the button information table 800 stored in the HDD 104 andsearches for information corresponding to the pressed custom button.

In step S1002, the portal application 2307 detects the application IDand action ID corresponding to the custom button 406 from the HDD 104,and notifies the application corresponding to the application ID of theaction ID. In such a ease, the portal application 2307 notifies the sendapplication with the application ID “101” of the action ID 2 “00”. Instep S1003, the portal application 2307 waits until action ID processingis executed by the send application 2305.

The send application 2305 that has received the action ID refers to thesetting information table 900 that has been stored in the HDD 104 instep S1007, and searches for setting information corresponding to thereceived action ID. In step S1008, the send application 2305 determineswhether the received action ID ends with “00”. If the action ID endswith “00” (YES in step S1008), the processing proceeds to step S1009. Ifthe action ID does not end with “00” (NO in step S1008), the processingproceeds to step S1020. Since the action ID corresponding to the custombutton 406 ends with “00”, the processing proceeds to step S1009.

In step S1009, the send application 2305 starts a document readingoperation. In step S1010, the settings confirmation screen is displayedas a pop-up screen on the touch panel 300. In other words, a settingsconfirmation screen is displayed during the document reading operation.In the present exemplary embodiment, the confirmation screen isdisplayed after the document reading operation is started. However, theoperation sequence is not limited to this example, as long as at least apart of the document reading operation is executed during a period inwhich the confirmation screen is displayed. For example, the documentreading operation may be executed after the confirmation screen isdisplayed. An example of the settings confirmation screen will bedescribed with reference to FIG. 7E. The settings confirmation screen709 illustrated in FIG. 7E is a screen on which setting information(setting value associated with the custom button 406) searched in stepS1007 is displayed and which can be changed when any one of changebuttons 710 to 712 is pressed. Since the document reading operation isalready started, the settings (e.g., a resolution and a document size)for reading cannot be changed. On the other hand, settings forprocessing other than the document reading processing, such as a settingof an image data transmission destination, can be changed. FIG. 7Fillustrates a color setting screen 717 to be displayed when a changebutton 711 is pressed. When the user changes the color setting on thecolor setting screen 717 and presses the OK button, the settingsconfirmation screen 709 in which the setting change is reflected isdisplayed. In this case, the changed setting is temporarily associatedas setting information corresponding to the action ID in the settinginformation table 900, and thus processing can be executed with thechanged setting only this time. If a conflict occurs in the settingchanged by the user, for example, a notification may be issued, or thesetting in which a conflict occurs may be grayed out, to thereby preventthe user from selecting the setting.

On the settings confirmation screen 709, a checkbox 715 for selectingwhether to display the settings confirmation screen 709 is displayed inthe subsequent processing. When the checkbox 715 is checked, the actionID is changed to an action ID that ends with “01”, and thus theconfirmation screen is not displayed in the subsequent processing. Inother words, the custom button 406 is set as the immediate executionbutton. The description of the flowchart illustrated in FIG. 10 will becontinued.

In step S1011, the send application 2305 determines whether aninstruction to change the setting information is issued by pressing anyone of the change buttons 710 to 712 on the settings confirmation screen709. If the send application 2305 determines that an instruction tochange the setting information is issued (YES in step S1011), theprocessing proceeds to step S1012. In step S1012, the settinginformation is changed, and then the processing proceeds to step S1013.If the send application 2305 determines that an instruction to changethe setting information is not issued (NO in step S1011), the processingproceeds to step S1013.

In step S1013, the send application 2305 determines which one of the OKbutton 716 and a cancel button 714 is pressed on the settingsconfirmation screen 709. If the send application 2305 determines thatthe OK button 716 is pressed (“OK” in step S1013), the processingproceeds to step S1015. If the send application 2305 determines that thecancel button 714 is pressed (“CANCEL” in step S1013), the processingproceeds to step S1017.

In step S1014, the send application 2305 determines whether the documentreading operation started in step S1009 is completed. If the sendapplication 2305 determines that the document reading operation iscompleted (YES in step S1014), the processing proceeds to step S1015. Ifthe send application 2305 determines that the document reading operationis not completed (NO in step S1014), the processing of step S1014 isrepeated.

In step S1015, the send application 2305 executes processing associatedwith the custom button with the set contents. The processing executed inthis case is processing to be executed after the document readingprocessing, which is processing for transmitting image data generated byscanning a document to the set address.

In step S1016, the send application 2305 determines whether the stop key303 of the operation/display unit 112 is pressed during the transmissionprocessing in step S1015. If the send application 2305 determines thatthe stop key 303 is pressed (YES in step S1016), the processing proceedsto step S1017. If the send application 2305 determines that the stop keyis not pressed (NO in step S1016), the processing proceeds to stepS1018.

In step S1017, the send application 2305 deletes the scanned image data,and terminates the action ID processing. In this case, when a pluralityof documents is set on an auto document feeder (ADF) and the processingis cancelled in the process of feeding the plurality of documents, thedocument reading operation is interrupted at such a point, and imagedata on the scanned documents is deleted. After the image data isdeleted, the display transitions to the portal screen 400 or the settingscreen for the send application 2305.

In step S1018, the send application 2305 determines whether the checkbox715 is checked on the settings confirmation screen 709. If the sendapplication 2305 determines that the checkbox 715 is checked (YES instep S1018), the processing proceeds to step S1019. In step S1019, thesend application 2305 notifies the portal application 2307 of the changeof the action ID, and the send application 2305 ends the action IDprocessing. If the send application 2305 determines that the checkbox715 is not checked (NO in step S1018), the send application 2305terminates the action ID processing.

In step S1008, if the action ID does not end with “00”, i.e., if thepressed custom button is set as the immediate execution button (NO instep S1008), the processing proceeds to step S1020. In step S1020, thedocument reading processing is started to execute transmissionprocessing on the generated image data. Specifically, the processingassociated with the button is executed without the step of displayingthe confirmation screen in the case where the immediate execution buttonis pressed. For example, if a button for executing processing fortransmitting the generated image data to a predetermined address is setas the immediate execution button, there is a possibility that theprocessing may be accidentally executed due to an erroneous operation bythe user and the data may be transmitted to an incorrect address.

The description of the processing to be executed by the portalapplication 2307 will be continued. In step S1004, the portalapplication 2307 determines whether an action ID change notification isreceived. If the portal application 2307 determines that the action IDchange notification is received (YES in step S1004), the processingproceeds to step S1005. In step S1005, the action ID corresponding tothe information searched in step S1001 is changed. In other words, theend of the action ID is changed from “00” to “01” in step S1005 if thecheckbox 715 is checked, and in step S1006, icon information indicatingthe immediate execution is acquired from the HDD 104 and stored. Thebutton execution processing is then terminated. The button generated bychanging the action ID to an action ID that ends with “01” can beoperated as the immediate execution button in the subsequent processing.

The above-described flowchart illustrates an example where the custombutton for transmitting image data generated by scanning a document tothe set address. However, any button may be applied as long as thebutton is used to execute processing including the document readingoperation. For example, the button may be a button for executingprocessing for transmitting image data generated by scanning a documentto a cloud system, or a button for executing processing for storingimage data generated by scanning a document in the MFP 1. In this case,when the button is pressed, the document reading operation starts andthe user is prompted to confirm, for example, a transmission destinationon the cloud system, and an image storage destination, on theconfirmation screen, and thereby the user can change the setting.

In a case of setting a button for executing copy processing, thedocument reading operation starts simultaneously with pressing of thebutton, and the user is prompted to confirm the settings for output onthe settings confirmation screen, and thereby the user can change thesettings.

By using the processing in the flowchart described above, in a casewhere the button for executing processing including the document readingoperation is pressed, the document reading operation is executed at atiming when the button is pressed, and the confirmation screen isdisplayed during the document reading operation. In the related art, theconfirmation screen or the setting screen is displayed when the buttonis pressed, and the document reading operation is started to executeprocessing when a predetermined operation is received from the user. Byusing the processing in this flowchart, the confirmation screen isdisplayed during the document reading operation, which enablesprocessing associated with the button to be executed more rapidly thanthe processing used in the related art.

Furthermore, it is possible to display the confirmation screen duringthe document reading operation and it is also possible to prompt theuser to confirm the contents of processing, processing can thereby becancelled even if the button is accidentally pressed by the user, andthe settings can also be changed on the confirmation screen. In the caseof executing processing for transmitting image data generated byscanning a document to the set address, an erroneous transmissionoperation caused due to an error in operation can be avoided, whileprocessing can be rapidly executed.

The present exemplary embodiment described above illustrates an examplewhere the document reading operation is started in step S1009 if thebutton pressed in step S1008 is not set as the immediate executionbutton. Alternatively, the settings confirmation screen may be displayedprior to the document reading operation if the button pressed in stepS1008 is not set as the immediate execution button. In this case, asillustrated in a settings confirmation screen 1100 illustrated in FIG.11, settings for document reading, such as a setting of a resolution,can also be changed by pressing a change button 1103. This is becausethe document reading processing is not executed at this point. Othersettings that are not displayed on the settings confirmation screen 1100can also be changed by pressing an other settings button 1106.

The first exemplary embodiment described above illustrates an examplewhere the processing proceeds to step S1015 if the condition that the OKbutton 716 is pressed on the settings confirmation screen 709 issatisfied in step S1013. In this case, however, the processing does notproceed to the subsequent step unless the OK button is pressed by theuser. A second exemplary embodiment illustrates an example where theprocessing proceeds to step S1015 even if the OK button is not pressedon the settings confirmation screen 709 in step S1013. The basicconfiguration of the second exemplary embodiment is the same as that ofthe first exemplary embodiment, and thus only differences between thesecond exemplary embodiment and the first exemplary embodiment will bedescribed.

In the present exemplary embodiment, the settings confirmation screen709 is displayed until the document reading operation started in stepS1009 is completed. If the cancel button 714 is pressed on the settingsconfirmation screen 709 before the document reading operation iscompleted in step S1013 (“CANCEL” in step S1013), the processingproceeds to step S1017 to cancel the processing. If the cancel button714 is not pressed before the document reading operation is completed(“OK” in step S1013), the processing proceeds to step S1015 after thedocument reading operation is completed in step S1014.

In the above-described exemplary embodiment, the processing can becancelled if an incorrect button is pressed. If a correct button ispressed, the processing proceeds to the subsequent step without the needfor pressing the OK button on the settings confirmation screen 709,which leads to an improvement in operability. Displaying the settingsconfirmation screen 709 until the document reading operation iscompleted is merely an example. Alternatively, the settings confirmationscreen 709 may be displayed for a predetermined period, and theprocessing may proceed to the subsequent step unless the cancel buttonis pressed.

In the first exemplary embodiment, it may be desirable to turn on theimmediate execution setting on the button name and execution settingscreen 707, or to check the checkbox 715 on the setting contentsconfirmation screen 709 so as to set the custom button as the immediateexecution button. A third exemplary embodiment illustrates an examplewhere a screen for setting the custom button as the immediate executionbutton is automatically displayed when a custom button that is not setas the immediate execution button is used a predetermined number oftimes. The basic configuration of the present exemplary embodiment isthe same as that of the first exemplary embodiment, and thus onlydifferences between the third exemplary embodiment and the firstexemplary embodiment will be described.

In the third exemplary embodiment, processing in a flowchart illustratedin FIGS. 12A and 12B is executed instead of the processing in theflowchart illustrated in FIG. 10 according to the first exemplaryembodiment. The flowchart illustrated in FIGS. 12A and 12B differs fromthe flowchart illustrated in FIG. 10 in regard to steps S1201 to S1207.

In step S1201, the send application 2305 determines whether the actionID corresponding to the pressed custom button ends with “00”. If theaction ID ends with “00” (YES in step S1201), the processing proceeds tostep S1202. If the action ID does not end with “00” (NO in step S1201),the processing ends.

In step S1202, the send application 2305 increments the count of thenumber of executions corresponding to the pressed custom button by “1”.In the present exemplary embodiment, the number of times of using eachbutton is counted and stored as illustrated in FIG. 9B. In this case,the number of times of executions corresponding to the action ID for thepressed custom button is incremented by “1” and stored.

In step S1203, the send application 2305 determines whether the numberof executions of the pressed custom button has reached a predeterminedvalue with reference to a table illustrated in FIG. 9B. Assume hereinthat the predetermined value is “10”. If the number of executions is“10” (YES in step S1203), the processing proceeds to step S1204. In stepS1204, the send application 2305 displays a screen 718 for prompting theuser to set the pressed custom button as the immediate execution buttonas illustrated in FIG. 7G. If the number of executions has not reached“10” (NO in step S1203), the processing ends.

In step S1205, the send application 2305 determines whether an OK button719 is pressed on the screen displayed in step S1204. If the OK button719 is pressed (YES in step S1205), the processing proceeds to stepS1206. If the OK button 719 is not pressed (NO in step S1205) (or if thecancel button is pressed), the processing proceeds to step S1207.

In step S1207, the count corresponding to the pressed custom button isreset to “0”.

By the processing in the flowchart described above, the custom buttoncan be operated as the immediate execution button in the subsequentprocessing if the OK button 719 is pressed on the screen displayed instep S1204. Thus, it is possible to prompt the user to set the custombutton as the immediate execution button if the user uses a custombutton a predetermined number of times, without the need for the user tointentionally set the custom button as the immediate execution button.

The first exemplary embodiment described above illustrates an examplewhere if the custom button corresponding to processing including thedocument reading operation is pressed, the document reading operationstarts at a timing when the button is pressed. In the second exemplaryembodiment, not only the custom button, but also an application buttonmay be used to start the document reading operation at a timing when thecustom button is pressed. For example, when the send application button402 is pressed, the document reading operation may be started at atiming when the send application button is pressed, and the settingscreen 500 may be displayed upon execution of the reading operation toreceive a setting change from the user. In such a case, settings fordocument reading, such as a setting of a resolution, cannot be made.

More alternatively, the document reading operation may be started at atiming when a setting for document reading is received on the settingscreen 500, instead of starting the document reading operation at atiming when the application button 402 is pressed. In such a case, theuser can set, for example, an image data transmission destination duringthe document reading operation.

Other Embodiments

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2020-133366, filed Aug. 5, 2020, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An information processing apparatus that displaysa menu screen, the information processing apparatus comprising: at leastone processor and at least a memory coupled to the at least oneprocessor and having instructions stored thereon, and when executed bythe at least one processor, acting as: a first display unit configuredto display a display object for executing first processing includingdocument reading processing on the menu screen; a second display unitconfigured to display a confirmation screen for prompting a user toconfirm contents of the first processing based on reception of anoperation on the display object displayed by the first display unit fromthe user; a first execution unit configured to execute at least a partof the document reading processing included in the first processing inparallel with the display of the confirmation screen by the seconddisplay unit; and a second execution unit configured to execute, in acase where a predetermined condition is satisfied, processing subsequentto the document reading processing included in the first processing. 2.The information processing apparatus according to claim 1, wherein thedisplay object is associated with one or more setting values and thefirst processing is executed based on the setting values.
 3. Theinformation processing apparatus according to claim 2, wherein at leasta part of the setting values associated with the display object isdisplayed on the confirmation screen.
 4. The information processingapparatus according to claim 1, wherein the contents of the firstprocessing are a setting for the first processing and the setting ischangeable on the confirmation screen.
 5. The information processingapparatus according to claim 4, wherein the changeable setting is asetting for processing other than the document reading processingincluded in the first processing.
 6. The information processingapparatus according to claim 1, wherein the predetermined conditionincludes at least reception of a predetermined operation from the useron the confirmation screen.
 7. The information processing apparatusaccording to claim 1, wherein the predetermined condition includes atleast completion of the document reading processing.
 8. The informationprocessing apparatus according to claim 1, wherein in a case whereinformation indicating cancellation of the processing is received fromthe user on the confirmation screen, the first processing is cancelledand image data generated in the document reading processing is deleted.9. The information processing apparatus according to claim 1, wherein onthe confirmation screen, a setting about whether to display theconfirmation screen when the display object is operated is enabled insubsequent processing.
 10. The information processing apparatusaccording to claim 1, wherein the first execution unit starts thedocument reading processing at a timing when an operation on the displayobject displayed by the first display unit is received from the user.11. The information processing apparatus according to claim 1, whereinthe processing including the document reading processing is processingfor transmitting image data generated by scanning a document by theinformation processing apparatus to an external apparatus.
 12. Theinformation processing apparatus according to claim 1, wherein theprocessing including the document reading processing is copy processing.13. A method for an information processing apparatus to display a menuscreen, the method comprising: displaying a display object for executingfirst processing including document reading processing on the menuscreen; displaying a confirmation screen for prompting a user to confirmcontents of the first processing based on reception of an operation onthe displayed display object from the user; executing at least a part ofthe document reading processing included in the first processing inparallel with the display of the confirmation screen; and executing, ina case where a predetermined condition is satisfied, processingsubsequent to the document reading processing included in the firstprocessing.
 14. A non-transitory computer-readable storage mediumstoring a program to cause a computer to perform a method for aninformation processing apparatus to display a menu screen, the methodcomprising: displaying a display object for executing first processingincluding document reading processing on the menu screen; displaying aconfirmation screen for prompting a user to confirm contents of thefirst processing based on reception of an operation on the displayeddisplay object from the user; executing at least a part of the documentreading processing included in the first processing in parallel with thedisplay of the confirmation screen; and executing, in a case where apredetermined condition is satisfied, processing subsequent to thedocument reading processing included in the first processing.